import { LocaleSetting, LocaleType } from '#/config';
import { BaseStorage } from '@2/app/core/storage/base.storage';
import { StateTree } from 'pinia';
/**
 * @program: microservice-central-portal
 * @description: 系统国际化存储接口，继承自基础存储接口 {@see BaseStorage}，用于定义系统国际化存储的所有状态
 * @author: baiHoo.chen
 * @create: 2022年5月26日
 **/
export interface LocaleStorage extends BaseStorage<LocaleState> {
  /**
   * 获取显示选择器
   */
  getShowPicker(): boolean;
  /**
   * 获取多语言信息
   */
  getLocale(): LocaleType;
  /**
   * 设置多语言信息和缓存
   * @param info
   */
  setLocaleInfo(info: Partial<LocaleSetting>): void;
  /**
   * 初始化多语言信息和加载现有配置从本地缓存
   */
  initLocale(): void;
}
/**
 * @program: microservice-central-portal
 * @description: 用于定义项目国际化配置，具体使用 {@see PermissionStorageImpl}
 * @author: baiHoo.chen
 * @create: 2022年5月29日
 **/
export interface LocaleState extends StateTree {
  localInfo: LocaleSetting;
}
